package com.kernel.streamDemo;

import java.io.*;

/****************************************
 * @name CopyDemo
 * @description 文件拷贝练习
 * @author 黄彬恒
 * @since 2018/8/17
 ***************************************/
public class CopyDemo {
    public static void main(String[] args) {
        if (args.length != 2) {
            System.out.println("命令语法不正确！");
            System.exit(1);
        }
        File f1 = new File(args[0]);// 源文件
        File f2 = new File(args[1]);// 目标文件
        if (!f1.exists()) {
            System.out.println("找不到源文件");
            System.exit(1);
        }
        InputStream input = null;
        OutputStream output = null;
        try {
            input = new FileInputStream(f1);
            output = new FileOutputStream(f2);
            int temp;// 以ASC码的形式读取源文件内容
            while ((temp = input.read()) != -1) {
                output.write(temp); // 边读边写
            }
            input.close();
            output.close();
            System.out.println("拷贝成功");
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (input != null) {
                try {
                    input.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (output != null) {
                try {
                    output.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
